-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change CI release logic #452
Merged
Merged
+293
−65
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jgiannuzzi
force-pushed
the
release-ci
branch
from
October 14, 2023 08:48
2b69499
to
cd12a7e
Compare
jgiannuzzi
requested review from
dave-gantenbein,
suprjinx,
dsuhinin and
fabiovincenzi
October 14, 2023 09:41
jgiannuzzi
force-pushed
the
release-ci
branch
2 times, most recently
from
October 16, 2023 08:53
e4365aa
to
d01e537
Compare
* add a workflow `create.yml` to create release branches and tags in a controlled manner, using a GitHub app that will have exceptions in the rulesets * change the `release.yml` workflow to be directly called by the main CI workflow * change `release.yml` to not validate the ref anymore, but instead rely on rulesets and environments * add support for prereleases * document workflow in `docs/maintainer.md`
jgiannuzzi
force-pushed
the
release-ci
branch
from
October 16, 2023 12:59
d01e537
to
3055474
Compare
3 tasks
suprjinx
approved these changes
Oct 16, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
dave-gantenbein
approved these changes
Oct 16, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hardly feel qualified with this level of github-fu, lets push it and see if it breaks, with rollback being easy enough.
jgiannuzzi
added a commit
to jgiannuzzi/fasttrackml
that referenced
this pull request
Oct 16, 2023
* add a workflow `create.yml` to create release branches and tags in a controlled manner, using a GitHub app that will have exceptions in the rulesets * change the `release.yml` workflow to be directly called by the main CI workflow * change `release.yml` to not validate the ref anymore, but instead rely on rulesets and environments * add support for prereleases * document workflow in `docs/maintainer.md`
This was referenced Oct 17, 2023
suprjinx
pushed a commit
to suprjinx/fasttrackml
that referenced
this pull request
Oct 23, 2023
* add a workflow `create.yml` to create release branches and tags in a controlled manner, using a GitHub app that will have exceptions in the rulesets * change the `release.yml` workflow to be directly called by the main CI workflow * change `release.yml` to not validate the ref anymore, but instead rely on rulesets and environments * add support for prereleases * document workflow in `docs/maintainer.md`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes the CI release logic in the following way:
create.yml
to create release branches and tags in a controlled manner, using a GitHub app that will have exceptions in the rulesetsrelease.yml
workflow to be directly called by the main CI workflowrelease.yml
to not validate the ref anymore, but instead rely on rulesets and environmentsdocs/maintainer.md
The following tasks need to be completed before merging this PR (more information can be found in the documentation):
create-release
environment that can only be accessed by themain
branchrelease
environment to also allowv*
tag patterns (and keep the existingmain
branch)Examples on a repo that has been setup as described and as "upstream" (so not a fork, but in this case a copy):
Note
Many of these links may require to be reloaded before they display the actual log line I want to show — this seems to be a GitHub bug at the time of writing
main
: notice in particular that themain
andedge
tags are published on Docker Hub0.3
release branch: notice in particular that the app/bot is able to bypass the branch creation rule to create the branch0.3
release branch: notice that the release workflow is skipped0.3.5-beta.1
tag: the app/bot can bypass the tag creation rule0.3.5-beta.1
tag: notice that thelatest
tag does not get published on Docker Hub, that the GitHub release is created as a prerelease, and that the website does not get updated for the announcement — PyPI publishing does not work intentionally because it would have required changing the package name0.3.5
tag: the app/bot can bypass the tag creation rule0.3.5
tag: notice that thelatest
tag is published on Docker Hub, that the GitHub release is created as a normal release, and that the website gets updated for the announcement — PyPI publishing does not work intentionally because it would have required changing the package name0.04
release branch: notice the error message0.3.5beta.1
tag: notice the error message0.4.5
tag when the0.4
branch does not exist: notice the error message